IronRuby
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
IronRuby is an implementation of the Ruby programming language targeting Microsoft .NET Framework. It is implemented on top of the Dynamic Language Runtime (DLR), a library running on top of the Common Language Infrastructure that provides dynamic typing and dynamic method dispatch, among other things, for dynamic languages.
The project is currently inactive, with the last release of IronRuby (version 1.1.3) being in March 2011.
Contents
• History
• License
• See also
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
History
On July 23, 2007, as promised, John Lam and the DLR Design Team presented the pre-Alpha version of the IronRuby compiler at OSCON. He also announced a quick timeline for further integration of IronRuby into the open source community.cite-ref-5[5]
On August 31, 2007, John Lam and the DLR Design Team released the code in its pre-alpha stage on RubyForge.cite-ref-6[6] The source code has continued to be updated regularly by the core Microsoft team (but not for every check-in). The team also does not accept community contributions for the core Dynamic Language Runtime library, at least for now.cite-ref-7[7]
Version 1.0 became available on April 12, 2010, in two different versions:
• The preferred one, which runs on top of .NET 4.0.
In July 2010, Microsoft let go Jimmy Schementi, one of two remaining members of the IronRuby core team, and stopped funding the project.cite-ref-19[19]cite-ref-20[20] In October 2010 Microsoft announced the Iron projects (IronRuby and IronPython) were being changed to "external" projects and enabling "community members to make contributions without Microsoft's involvement or sponsorship by a Microsoft employee".cite-ref-21[21]
The last published release of IronRuby was on March 13, 2011 as version 1.1.3.cite-ref-defunct-22-0[22]
Architecture
Mono support
.NET interoperability
The interoperability between IronRuby classes and regular .NET Framework classes is very limited because many Ruby classes are not .NET classes.cite-ref-28[28] However, better support for dynamic languages in .NET 4.0 may increase interoperability in the future.cite-ref-29[29]cite-ref-30[30]
Silverlight support
IronRuby was supported on Silverlight. It could be used as a scripting engine in the browser just like the JavaScript engine.cite-ref-31[31] IronRuby scripts were passed like simple client-side JavaScript-scripts in <script>-tags. It is then also possible to modify embedded XAML markup.cite-ref-32[32]
The technology behind this was called Gestalt.cite-ref-33[33]
//DLR initiation script.
<script src="http://gestalt.ironruby.net/dlr-latest.js" type="text/javascript">
//Client-side script passed to IronRuby and Silverlight.
<script type="text/ruby">
window.Alert("Hello from Ruby")
</script>
The same worked for IronPython.cite-ref-34[34]
Testing infrastructure
License
IronRuby was previously released under the Microsoft Public License, which is OSI-certified BSD-style license.cite-ref-36[36]
On July 16, 2010, Microsoft re-licensed IronRuby along with the DLR under the Apache License 2.0.cite-ref-37[37]
Further reading
• citereffriedman2010Friedman, Shay (2010). IronRuby Unleashed. Sams Publishing. ISBN 978-0-672-33078-0.
• citerefporto-carreroburmister2010Porto Carrero, Ivan; Burmister, Adam (2010). IronRuby in Action. Manning Publications. ISBN 978-1-933988-61-0.
See also
References
cite-note-11. citerefs-somasegarS. Somasegar. "Early look at IronRuby". Retrieved July 25, 2007.
cite-note-22. "RubyForge: IronRuby: Project Info". Archived from the original on September 25, 2016. Retrieved September 7, 2007.
cite-note-33. ↑ citerefwilco-bauwerWilco Bauwer. "Microsoft's Iron Ruby". Archived from the original on September 29, 2007. Retrieved July 24, 2007.
cite-note-44. ↑ citerefjohn-lamJohn Lam. "Microsoft and IronRuby". Archived from the original on June 12, 2007. Retrieved June 18, 2007.
cite-note-55. ↑ citerefjohn-lamJohn Lam. "A First Look at IronRuby". Archived from the original on July 26, 2007. Retrieved July 23, 2007.
cite-note-66. ↑ citereflamLam, John. "IronRuby on Rubyforge!". Archived from the original on September 3, 2007. Retrieved August 31, 2007. Today, you must check the source code out of the IronRuby Subversion repository on Rubyforge. You will need a Subversion client; we recommend TortoiseSVN. To build the sources from the command line, you must also have Ruby installed on your computer already
cite-note-77. ↑ citereflam2008Lam, John (April 29, 2008). "Regarding IronRuby... How true it sounds from this blog". Archived from the original on March 16, 2009. Retrieved May 25, 2008. The DLR does not accept contributions from the community (...) Today we do not push to SVN on every successful SNAP check-in
cite-note-88. ↑ citereflam2008Lam, John (July 24, 2008). "IronRuby at OSCON". Archived from the original on August 7, 2008. Retrieved August 4, 2008. We're shipping our first binary release. In this package, we're taking a "batteries included" approach and shipping the Ruby standard libraries in it
cite-note-99. ↑ "IronRuby on Rails". Archived from the original on May 29, 2009. Retrieved May 25, 2008.
cite-note-1010. ↑ citereflam2008Lam, John (May 24, 2008). "IronRuby r112 is out". Archived from the original on March 16, 2009. Retrieved May 25, 2008.
cite-note-1111. ↑ citereflam2008Lam, John (May 25, 2008). "IronRuby / Rails Question". Archived from the original on March 17, 2009. Retrieved May 25, 2008. I don't think we're near the end game yet :) We're barely able to run Rails functional tests now, and there's a lot more library work to be done before we can start thinking about deployment
cite-note-1212. ↑ citerefschementi2008Schementi, Jimmy (May 25, 2008). "IronRuby at RailsConf 2009". Retrieved May 25, 2008. IronRuby running Rails is not new, but doing it well or completely – is. IronRuby can now run real Rails applications, rather than just toy-hello-world examples. This does not mean IronRuby on Rails is ready for production, but it's a great measure of forward progress
cite-note-1313. ↑ "IronRuby 0.9". July 23, 2009. Archived from the original on May 12, 2009. Retrieved August 3, 2009.
cite-note-1414. ↑ citerefcangiano2009Cangiano, Antonio (August 3, 2009). "Comparing the performance of IronRuby, Ruby 1.8 and Ruby 1.9 on Windows". Retrieved August 3, 2009.
cite-note-1515. ↑ "IronRuby 1.0RC1". November 20, 2009. Archived from the original on December 21, 2009. Retrieved December 29, 2009.
cite-note-1616. ↑ "IronRuby 1.0 release notes". April 12, 2010. Archived from the original on April 16, 2010. Retrieved April 17, 2010. IronRuby now comes in two flavors - one that runs on top of .NET 4.0, and one that runs on any earlier framework starting with .NET 2.0 SP1. The .NET 4.0 flavor features faster startup time, compatibility with C#'s dynamic keyword, and access to the new features in .NET 4.0. So, the .NET 4.0 flavor is the preferred download now, as the Microsoft .NET Framework 4.0 is publicly available as of today. For Mono compatibility, use the zip file release for 2.0 SP1.
cite-note-1717. ↑ "MRI 1.8.7 compatibility". February 12, 2010. Archived from the original on September 28, 2011. Retrieved March 6, 2010.
cite-note-1818. ↑ "MRI 1.8.7 compatibility". February 14, 2010. Archived from the original on September 28, 2011. Retrieved March 6, 2010. IronRuby 1.0.x releases: ONLY ruby-1.8.6 compatible; IronRuby 1.x releases: ONLY ruby-1.9 compatible
cite-note-2020. ↑ citerefschementi2010Schementi, Jimmy (August 6, 2010). ""Start spreading the news": the future of Jimmy and IronRuby". Retrieved December 28, 2012. Overall, I see a serious lack of commitment to IronRuby, and dynamic language on .NET in general. At the time of my leaving Tomas and myself were the only Microsoft employees working on IronRuby
cite-note-2121. ↑ citerefzanderZander, Jason. "New Components and Contributors for IronPython and IronRuby". Microsoft. Retrieved December 27, 2014.
cite-note-defunct-2222. ↑ "IronRuby 1.1.3". ironruby.codeplex.com. March 13, 2011. Archived from the original on May 30, 2013. Retrieved May 19, 2013.
cite-note-2323. ↑ citerefmiguel-de-icaza2009Miguel de Icaza (July 27, 2009). "Improving Mono's compatibility with .NET CLR". Retrieved August 3, 2009. For as long as we remember, most new versions of IronPython, IronRuby or the Dynamic Language Runtime exposed new missing functionality in Mono
cite-note-2424. ↑ citerefsanghyeon2008Sanghyeon, Seo (August 6, 2008). "IronRuby and Mono". Archived from the original on March 16, 2009. Retrieved September 13, 2008.
cite-note-vander-schelden-2525. ↑ citerefvander-schelden2008Vander Schelden, Wim (September 4, 2008). "IronRuby and Mono". Archived from the original on March 16, 2009. Retrieved September 13, 2008.
cite-note-2626. ↑ citerefhall2009Hall, Ben (January 23, 2009). "DLR Daily Builds (including IronRuby)". Archived from the original on March 15, 2009. Retrieved January 23, 2009.
cite-note-2727. ↑ citerefporto-carrero2009Porto Carrero, Ivan (May 26, 2009). "mono builds". Archived from the original on February 23, 2012. Retrieved June 5, 2009.
cite-note-2828. ↑ citerefhagenlocher2008Hagenlocher, Curt (December 16, 2008). "Xna+IronRuby+RubyNewb=headache". Archived from the original on March 16, 2009. Retrieved December 20, 2008.
cite-note-2929. ↑ citerefbrotherus2008Brotherus, Robert (December 12, 2008). "WPF databinding with ruby objects". Archived from the original on March 25, 2009. Retrieved December 13, 2008.
cite-note-3030. ↑ "Dynamic .NET - Creating Interactive Bing Maps with Silverlight and IronRuby". learn.microsoft.com. September 22, 2015.
cite-note-3131. ↑ IronRuby in the browser - IronRuby.net
cite-note-3232. ↑ "Building a WPF Application in IronRuby". InfoQ.
cite-note-3333. ↑ citerefschementin2009Schementin, Jimmy (July 22, 2009). "Gestalt: Ruby and Python in the browser, again". Retrieved January 19, 2018.
cite-note-3434. ↑ "Silverlight: Embed IronRuby/DLR Scripting within XAML using IValueConverter and Custom UserControl | Chris Pietschmann". pietschsoft.com.
cite-note-3535. ↑ "RubySpec". GitHub. Retrieved October 23, 2010. The IronRuby GIT repo includes a copy of the RubySpec tests, including the MSpec test framework, under External.LCA_RESTRICTED\Languages\IronRuby\mspec. This makes it easy to modify existing tests or write new tests, and fix the bugs in the IronRuby sources, all in a single commit to the IronRuby repo.
cite-note-3636. ↑ citerefbort2010Bort, Julie (April 14, 2010). "After three years effort, Microsoft's open source IronRuby stable and available". Network World.
cite-note-3737. ↑ "IronRuby License". July 16, 2010. Archived from the original on December 6, 2010. Retrieved July 27, 2010.
External links
• IronRuby home page
• IronRuby Archived December 30, 2009, at the Wayback Machine on Codeplex
• IronRuby source code
• S. Somasegar's blog entry announcing IronRuby
• State of IronRuby by John Lam at RubyConf 2007
• IronRuby: The Right Language for the Right Job by John Lam at PDC2008